package com.hangkai.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hangkai.reggie.domain.Setmeal;
import com.hangkai.reggie.dto.SetmealDto;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {

    /**
     * 保存套餐 同时要保存setmealDish表的数据 保存了菜品关联的套餐id
     * @param setmealDto
     */
    public void saveSetmealWithDishes(SetmealDto setmealDto);

    /**
     * 更新套餐 同时要注意setmealDish表的数据
     * @param setmealDto
     */
    public void updateWithDishes(SetmealDto setmealDto);

    /**
     * 分页查询 同时要查出cateGory的name属性
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    public Page<SetmealDto> getSetmealPage(int page, int pageSize, String name);

    /**
     * 批量删除套餐 注意要同时删除关联表setmealDish里的数据
     */
    public void removeWithDish(List<Long> ids);

    /**
     * 查询获得setmeal数据 并带上Dish 存在setmealDto里
     * @param id
     */
    public SetmealDto getSetmealWithDish(Long id);
}
